Code Division Multiple Access (CDMA) and Wideband Code Division Multiple Access (W-CDMA) are wireless communication standards. In CDMA and W-CDMA, a single frequency spectrum is shared by multiple users. In order to distinguish one wireless communication device from another, a unique code sequence is associated with each wireless communication device. Matched filters have been used by wireless communication devices to identify code sequences embedded in transmitted signal samples. Matched filters have also been used to identify an amount of delay incurred for the transmission of signal samples between wireless communication devices.
There are several drawbacks associated with using matched filters. First, a large number of samples are required to be accessed in order to efficiently utilize a match filter. If input samples are stored in input memory, the memory bandwidth becomes a limiting factor. This limitation forces implementation of the sample storage in registers. However, storing data in registers is inefficient compared to storing data in specialized memory structures like RAMs. Hence, implementation of matched filters would require the hardware size of the device to be large. Furthermore, matched filters typically require very high MIPS computation power. Depending on the parameters, the matched filter can require execution of tens of billions or hundreds of billions of operations per second. The high MIPS computation power requirement of matched filters exceed the capability of a single standard digital signal processing (DSP) processor. The use of a specialized DSP processor or multiple standard DSP processors to perform the computations required costs that are high and undesirable. Conventional usage of Programmable Logic Devices (PLDs) to perform the computations required the PLDs to include a large number of logic elements for the computations and a large number of registers for storing data and results from the matched filter. This translates into a need for additional real estate and costs that are also undesirable.
Thus, what is needed is a method and apparatus for processing code sequences and transmitted samples that is efficient and cost effective.